home *** CD-ROM | disk | FTP | other *** search
/ Stone Design / Stone Design.iso / Stone_Friends / Wave / WavesWorld / Source / Shaders / RCShaders / RCGranite.sl < prev    next >
Encoding:
Text File  |  1995-03-22  |  395 b   |  19 lines

  1. /* Listing 16.18  Surface shader for granite-like surface*/
  2. /* 
  3.  * granite(): Provide a diffuse granite-like surface texture. 
  4.  */
  5. surface 
  6. RCGranite(
  7.     float    Kd    = .8,
  8.         Ka    = .2 )
  9. {
  10.     float sum = 0;
  11.     float i, freq = 7.0;
  12.  
  13.     for (i = 0; i < 6; i = i + 1) {
  14.         sum = sum + abs(.5 - noise( 4 * freq * I))/freq ;
  15.         freq *= 2;
  16.     }
  17.     Ci = Cs * sum * (Ka + Kd * diffuse(faceforward( normalize(N), I )) ) ;
  18. }
  19.